class GetMonitorHwndException(Exception):
    pass

class GetTicketException(Exception):
    pass
        
class StartBankAppException(Exception):
    pass

class ToZZException(Exception):
    pass
    
class LoginException(Exception):
    pass

class TryBackToReTryException(Exception):
    pass
    
class StopException(Exception):
    pass

class LockedException(Exception):
    "上锁后的触发的异常"
    def __init__(self, wid, message):
        super(LockedException, self).__init__(message)
        self.wid = wid

class MoneyOutstripRisk(LockedException):
    """风控"""
    def __init__(self, wid,message):
        super(MoneyOutstripRisk, self).__init__(wid,message)  
        
class MoneyOutstripBankLimt(LockedException):
    """金额超过设置的上限"""
    def __init__(self, wid ,message):
        super(MoneyOutstripBankLimt, self).__init__(wid,message)  

class InPayException(LockedException):
    """在pay函数内，直至输入密码前的时间内发生的异常"""
    def __init__(self, wid,message):
        super(InPayException, self).__init__(wid,message)

class BeforePayException(LockedException):
    """付款前的异常"""
    def __init__(self, wid ,message):
        super(BeforePayException, self).__init__(wid,message)  

class AfterPayException(LockedException):
    """付款后的异常，可能是无法识别是否成功之类的"""
    def __init__(self, wid,message):
        super(AfterPayException, self).__init__(wid,message)
        
class BankInfoErrorException(LockedException):
    def __init__(self, wid,message=''):
        super(BankInfoErrorException, self).__init__(wid,message)

class BeforeFillBankInfoErrorException(LockedException):
    def __init__(self, wid,message=''):
        super(BeforeFillBankInfoErrorException, self).__init__(wid,message)
